In order to provide customers with products that have improved capabilities, it may be desirable to improve the performance of the processor within the product so that the product may operate faster or offer new features. One technique to improve the performance of a processor is to include a cache within the core of the processor. A cache may be used to pre-fetch instructions and/or data that the processor is likely to request in upcoming instruction cycles. When the processor requests an instruction or a piece of data, the request may be compared against a tag array to determine if the data requested is stored in the cache. If a match is found in the tag array, then a cache xe2x80x9chitxe2x80x9d has occurred. Accordingly, the stored information or data may then be provided to the processor by the cache. If the requested information is not in the cache, then a cache xe2x80x9cmissxe2x80x9d has occurred and the information may have to be retrieved from other sources. Providing the information from a local cache is generally faster than retrieving the instructions or data from a slower memory source, such as a disk drive.
However, the improved performance that might be gained by using a cache often comes with the expense associated with increased power consumption and die size of the cache. Thus, there is a continuing need for better ways to improve the performance of processors.